using System;
using System.Collections;
using System.Collections.Generic;

using ImPM.Data.Base;

namespace ImPM.Data.BusinessObjects
{
    public partial class User : BusinessBase<int>
    {
        #region Declarations

		
		private string _userName = String.Empty;
		private string _eMail = String.Empty;
		private string _login = String.Empty;
		private string _password = String.Empty;
		private System.DateTime _lastLogon = new DateTime();
		
		
		
        #endregion

        #region Constructors

        public User() { }

        #endregion

        #region Methods

        public override int GetHashCode()
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            
            sb.Append(this.GetType().FullName);
			sb.Append(_userName);
			sb.Append(_eMail);
			sb.Append(_login);
			sb.Append(_password);
			sb.Append(_lastLogon);

            return sb.ToString().GetHashCode();
        }

        #endregion

        #region Properties

		public virtual string UserName
        {
            get { return _userName; }
			set
			{
				OnUserNameChanging();
				_userName = value;
				OnUserNameChanged();
			}
        }
		partial void OnUserNameChanging();
		partial void OnUserNameChanged();
		
		public virtual string EMail
        {
            get { return _eMail; }
			set
			{
				OnEMailChanging();
				_eMail = value;
				OnEMailChanged();
			}
        }
		partial void OnEMailChanging();
		partial void OnEMailChanged();
		
		public virtual string Login
        {
            get { return _login; }
			set
			{
				OnLoginChanging();
				_login = value;
				OnLoginChanged();
			}
        }
		partial void OnLoginChanging();
		partial void OnLoginChanged();
		
		public virtual string Password
        {
            get { return _password; }
			set
			{
				OnPasswordChanging();
				_password = value;
				OnPasswordChanged();
			}
        }
		partial void OnPasswordChanging();
		partial void OnPasswordChanged();
		
		public virtual System.DateTime LastLogon
        {
            get { return _lastLogon; }
			set
			{
				OnLastLogonChanging();
				_lastLogon = value;
				OnLastLogonChanged();
			}
        }
		partial void OnLastLogonChanging();
		partial void OnLastLogonChanged();
		
        #endregion
    }
}
